package model

import "github.com/jinzhu/gorm"

type ArticleTag struct {
	Model

	ArticleId uint `json:"article_id"`
	TagId     uint `json:"tag_id"`
	Tag       *Tag `json:"tag"`
}

func (a ArticleTag) TableName() string {
	return "article_tag"
}

func (a *ArticleTag) Create(tx *gorm.DB) error {
	return tx.Create(a).Error
}

func (a *ArticleTag) QueryByArticleId(tx *gorm.DB) (articleTags []ArticleTag, err error) {
	if err := tx.Where("article_id = ?", a.Id).Preload("Tag").Find(&articleTags).Error; err != nil {
		return nil, err
	}

	return articleTags, nil
}
